﻿using System;
using System.Collections.Generic;
using System.Windows;

namespace ControleRepresentanteSync.Application
{
    internal interface IUserInterfaceService
    {
        MessageBoxResult ShowMessage(string message, string caption, MessageBoxButton button, MessageBoxImage image);
        void InvokeOnUIThread(Action action);
        void Exit(int exitCode);
        void ShowMessage(string message);
        bool OpenWindow(IWindow window);
        IDisposable GetDisposableWaitCursor();
        void ExecuteActionWithWaitMessage(string message, IWindow owner, Action action);
        string SelectFolder(string description, bool isShowNewFolderButton = false);
        IEnumerable<string> SelectFiles(string description);
    }
}